// pages/search/search.js
import { getGoodsList, } from '../../network/index.js';
const { globalData } = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isFirst: true,
    focusStatus: true,
    url_pre: globalData.BASE_URL,
    text: "",
    goodsList: [],
    total: 0,
    page: 1,
    pageSize: 10,
    isOK: false,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      focusStatus: true
    })
  },

  onChange(event) {
    this.setData({
      text: event.detail,
    })
  },
  // 点击搜索
  onSearch() {
    // 如果没有输入内容，提示输入
    if (!this.data.text) {
      return wx.showToast({
        title: '请先输入搜索关键词',
        icon: "none"
      })
    }
    // 如果能搜索了把 输入关键词进行搜索 的提示换掉
    this.setData({
      isFirst: false,
      goodsList: [],
    })
    // 调用获取商品列表方法
    this.getGoodsList();
  },
  // 获取商品列表
  async getGoodsList() {
    // 加载提示
    wx.showLoading({
      title: '加载中',
    })
    const { page, pageSize, text } = this.data;
    // 请求获取数据
    await getGoodsList({ page, pageSize, text }).then((result) => {
      // 获取数据以及条数
      const { items, total } = result;
      // 整理商品数据格式，比如标签，url的格式转为数组
      const data = items.map(item => {
        item.url = this.data.url_pre + item.urls?.split(",")[0] || "default.png";
        console.log(item.label)
        item.labels = item.label ? item.label?.split(",") : [];
        return item;
      })
      // 用扩展运算符把所有分页获取的数据合并起来
      const goodsList = [...this.data.goodsList, ...data];
      // 设置到data中的goodslist
      this.setData({
        total,
        page: this.data.page++,
        goodsList
      })
    })
    if (this.data.total <= this.data.goodsList.length) {
      this.setData({ isOK: true });
    }
    // 去掉转圈
    wx.hideLoading();
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (this.data.isOK) {
      return;
    }
    this.getGoodsList();
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})